﻿using NHibernate.CriteriaBuilder;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;

namespace Acaweb.Componentes.Criterials
{
    class InscritosCriterials : CriteriaRecorder<InscritosCriterials, Inscritos>
    {
        private ICriterionProperty<Identificacion> _InscritosByIdentificacion;
        private ICriterionProperty<int> _InscritosByEstado;
        private ICriterionProperty<int> _InscritosByPlanEstudio;
        private ICriterionProperty<PeriodoAcademico> _InscritosByPeridoAcademico;
        
        public virtual ICriterionProperty<Identificacion> InscritosByIdentificacion
        {
            get
            {
                if (this._InscritosByIdentificacion == null)
                {
                    this._InscritosByIdentificacion = new CriterionProperty<Identificacion>("Identificacion", this);
                }

                return _InscritosByIdentificacion;
            }
        }

        public virtual ICriterionProperty<int> InscritosByPlanEstudio
        {
            get
            {
                if (this._InscritosByPlanEstudio == null)
                {
                    this._InscritosByPlanEstudio = new CriterionProperty<int>("CodigoPlan", this);
                }

                return _InscritosByPlanEstudio;
            }
        }

        public virtual ICriterionProperty<PeriodoAcademico> InscritosByPeridoAcademico
        {
            get
            {
                if (this._InscritosByPeridoAcademico == null)
                {
                    this._InscritosByPeridoAcademico = new CriterionProperty<PeriodoAcademico>("PeriodoAcademico", this);
                }

                return _InscritosByPeridoAcademico;
            }
        }

        public virtual ICriterionProperty<int> InscritosByEstado
        {
            get
            {
                throw new System.NotImplementedException();
            }
        }

        public InscritosCriterials()
        {
        }

        public InscritosCriterials(ICriteriaRecorder parent)
            : base(parent)
        {
        }
    }
}
